package management;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import templates.JOGLProjectTemplate;

/**
 * Classe servant � g�rer les �venements de la souris.<br>
 * TODO Simplifier l'utilisation de cet objet dans {@link JOGLProjectTemplate}.<br>
 * Probl�me : l'acc�s aux �venements de la souris est plus compliqu� si on externalise leur gestion.<br>
 * Solution : fournir le contexte (cr�er l'objet avec JOGLTemplate).
 * 
 * @author sebastien
 * @since 0.0.1-SNAPSHOT
 */
public class MouseManagement implements MouseMotionListener, MouseWheelListener, MouseListener {

	private static final Logger LOGGER = LoggerFactory.getLogger(MouseManagement.class);

	// Mouse methods
	public void mouseClicked(MouseEvent e) {
		// LOGGER.debug(LogUtil.logMouseEvents(e));
	}

	public void mouseEntered(MouseEvent e) {}

	public void mouseExited(MouseEvent e) {}

	public void mousePressed(MouseEvent e) {}

	public void mouseReleased(MouseEvent e) {}

	public void mouseWheelMoved(MouseWheelEvent e) {
		LOGGER.debug("Mouse wheel : " + e.getPreciseWheelRotation());
	}

	public void mouseDragged(MouseEvent e) {
		LOGGER.trace("Mouse dragged from (" + e.getX() + "," + e.getY() + ")");
	}

	public void mouseMoved(MouseEvent e) {
		LOGGER.trace("Mouse moved to (" + e.getX() + "," + e.getY() + ")");
	}

}
